1 package uba.db.sql.language;
2
3 import org.apache.commons.lang.builder.EqualsBuilder;
4 import org.apache.commons.lang.builder.HashCodeBuilder;
5
6 /***
7 * Representa una expresión de igual del tipo: <i>a = b</i>.
8 *
9 * @version $Revision: 1.8 $
10 */
11 public class EqualComparison extends ComparisonBehavior {
12 /***
13 * Crea una expresion que representa la comparacion por igualdad entre la
14 * expresión <i>left</i> y la expresión <i>right</i>.
15 *
16 * @param left
17 * expresión a un lado de la igualdad.
18 * @param right
19 * expresión al otro lado de la igualdad.
20 */
21 public EqualComparison(SingleValue left, SingleValue right) {
22 super(left, right);
23 }
24
25 /***
26 * @see java.lang.Object#hashCode()
27 */
28 public int hashCode() {
29 return HashCodeBuilder.reflectionHashCode(this);
30 }
31
32 /***
33 * @see java.lang.Object#equals(java.lang.Object)
34 */
35 public boolean equals(Object obj) {
36 return EqualsBuilder.reflectionEquals(this, obj);
37 }
38
39 /***
40 * @see uba.db.sql.language.SingleValue#accept(uba.db.sql.language.Visitor)
41 */
42 public void accept(Visitor visitor) {
43 visitor.visitEqualComparison(this);
44 }
45
46 /***
47 * @see uba.db.sql.language.ComparisonBehavior#operatorAsString()
48 */
49 protected String operatorAsString() {
50 return " = ";
51 }
52
53 /***
54 * @see uba.db.sql.language.ComparisonBehavior#compareValues(Comparable,
55 * Comparable)
56 */
57 protected boolean compareValues(Comparable leftValue, Comparable rightValue) {
58 return leftValue.equals(rightValue);
59 }
60 }